local zishu = fk.CreateSkill {
    name = "gai__zishu",
    anim_type = "drawcard",
    tags = { Skill.Compulsory },
  }
  
  Fk:loadTranslationTable{
    ["gai__zishu"] = "自书",
    [":gai__zishu"] = "锁定技，你的回合内，当你不因此技能效果获得手牌时，摸一张牌。",
  
    ["$gai__zishu1"] = "我意已决，诸兄何复多言？",
    ["$gai__zishu2"] = "此去如若不成，吾宁殉志而终。",
  }
  
  zishu:addEffect(fk.AfterCardsMove, {
    anim_type = "drawcard",
    can_trigger = function(self, event, target, player, data)
      if player:hasSkill(zishu.name) and player.room:getCurrent() == player then
        for _, move in ipairs(data) do
          if move.to == player and move.toArea == Player.Hand and move.skillName ~= zishu.name then
            return true
          end
        end
      end
      return false
    end,
    on_use = function(self, event, target, player, data)
      player:drawCards(1, zishu.name)
    end,
  })
  
  return zishu